﻿using Abp.Application.Services.Dto;
using Mt.Site.Application.WorkFlows.Dto;
using Mt.Site.Application.WorkFlows.Dto.wf;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Mt.Site.Application.WorkFlows
{
    public interface IWorkFlowQueryAppService : IBackEndAppService
    {
        Task<PagedResultDto<PagedPaperDto>> GetPagedPapers(PagedPaperInput input);

        /// <summary>
        /// 读取列表控件配置
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<string> GetListCtrlConfigAsync(EntityDto<Guid> input);

        Task<List<UnitSelectionsDto>> GetAllOrganizationUnitData();

        /// <summary>
        /// 获取用户近期创建的历史稿件
        /// </summary>
        /// <returns></returns>
        Task<List<PagedPaperDto>> RecentPapers();

        Task<List<WorkFlowNodeDto>> GetWorkFlowNodes(EntityDto<Guid> input);

        /// <summary>
        /// 确认稿件是否已归档（打开不同的详情页）
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<GetFlowDetailModeDto> GetWorkFlowDetailModeAsync(EntityDto<Guid> input);

        Task CheckRepeatWenHao(CheckRepeatWhInput input);
    }
}
